支持30种语言,多种中文方言 [四川话、粤语等]的颠覆性无分词器TTS系统
支持30种语言,多种中文方言 [四川话、粤语等]的颠覆性无分词器TTS系统
项目简介
VoxCPM 是一个无离散音频分词器(Tokenizer-Free)的语音合成系统,通过端到端的扩散自回归架构直接生成连续语音表征,绕过对音频的离散编码步骤,实现高度自然且富有表现力的语音合成。
VoxCPM2 是最新的版本 — 基于 MiniCPM-4 基座构建,总计 20亿 参数,在超过 200万小时 的多语种音频数据上训练,支持 30种全球语言+9种中文方言(如下所示)、音色设计、可控声音克隆,原生输出 48kHz 高质量音频。
阿拉伯语、缅甸语、中文、丹麦语、荷兰语、英语、芬兰语、法语、德语、希腊语、希伯来语、印地语、印尼语、意大利语、日语、高棉语、韩语、老挝语、马来语、挪威语、波兰语、葡萄牙语、俄语、西班牙语、斯瓦希里语、瑞典语、菲律宾语、泰语、土耳其语、越南语
中国方言:四川话、粤语、吴语、东北话、河南话、陕西话、山东话、天津话、闽南话
可看下面的视频演示,以有个直观的感受:
核心特性
- 🌍 30种语言语音合成 — 直接输入原始文本即可合成(支持语言详见下文),无需额外语言标签
- 🎨 音色设计 — 用自然语言描述(性别、年龄、音色、情绪、语速……)凭空创建全新音色,无需参考音频
- 🎛️ 可控声音克隆 — 从参考音频片段克隆任意声音,可叠加风格指令控制情绪、语速和表现力,同时保持原始音色
- 🎙️ 极致克隆 — 提供参考音频及其文本内容,模型接着参考音频进行无缝续写,从而精准还原声音细节特征(与 VoxCPM1.5 一致)
- 🔊 48kHz 高质量音频 — 输入 16kHz 参考音频,通过 AudioVAE V2 的非对称编解码设计直接输出 48kHz 高质量音频,内置超分能力
- 🧠 语境感知合成 — 根据文本内容自动推断合适的韵律和表现力
- ⚡ 实时流式合成 — 在 NVIDIA RTX 4090 上 RTF 低至 ~0.3,通过 Nano-VLLM 加速后可达 ~0.13
- 📜 完全开源,商用就绪 — 权重和代码基于 Apache-2.0 协议发布,免费商用
🚀 快速开始
安装
pip install voxcpm
环境要求: Python ≥ 3.10 (<3.13),PyTorch ≥ 2.5.0,CUDA ≥ 12.0。详见 快速开始文档。
Python API
🗣️ 文本转语音
from voxcpm import VoxCPM
import soundfile as sf
model = VoxCPM.from_pretrained(
"openbmb/VoxCPM2",
load_denoiser=False,
)
wav = model.generate(
text="VoxCPM2 是目前推荐使用的多语言语音合成版本。",
cfg_value=2.0,
inference_timesteps=10,
)
sf.write("demo.wav", wav, model.tts_model.sample_rate)
print("已保存: demo.wav")
如果你希望先从 ModelScope 下载模型到本地(适用于国内网络访问),可以使用:
pip install modelscope
from modelscope import snapshot_download
snapshot_download("OpenBMB/VoxCPM2", local_dir='./pretrained_models/VoxCPM2') # 指定模型保存的本地路径
from voxcpm import VoxCPM
import soundfile as sf
model = VoxCPM.from_pretrained('./pretrained_models/VoxCPM2', load_denoiser=False)
wav = model.generate(
text="VoxCPM2 是目前推荐使用的多语言语音合成版本。",
cfg_value=2.0,
inference_timesteps=10,
)
sf.write("demo.wav", wav, model.tts_model.sample_rate)
🎨 音色设计
用自然语言描述创建全新音色,无需参考音频。格式: 在 text 开头用括号写入音色描述(如 "(音色描述)要合成的文本。"):
wav = model.generate(
text="(年轻女性,声音温柔甜美)你好,欢迎使用VoxCPM2!",
cfg_value=2.0,
inference_timesteps=10,
)
sf.write("voice_design.wav", wav, model.tts_model.sample_rate)
🎛️ 可控声音克隆
上传一段参考音频,模型克隆其音色,同时可以使用控制指令调节语速、情绪或风格。
wav = model.generate(
text="这是VoxCPM2生成的克隆语音。",
reference_wav_path="path/to/voice.wav",
)
sf.write("clone.wav", wav, model.tts_model.sample_rate)
wav = model.generate(
text="(稍快一点,欢快的语气)这是带风格控制的克隆语音。",
reference_wav_path="path/to/voice.wav",
cfg_value=2.0,
inference_timesteps=10,
)
sf.write("controllable_clone.wav", wav, model.tts_model.sample_rate)
🎙️ 极致克隆
提供参考音频及其精确文本转录,实现基于音频续写的高保真克隆。为获得最高克隆相似度,可将同一音频同时传给 reference_wav_path 和 prompt_wav_path:
wav = model.generate(
text="这是使用VoxCPM2的极致克隆演示。",
prompt_wav_path="path/to/voice.wav",
prompt_text="参考音频的文本转录。",
reference_wav_path="path/to/voice.wav", # 可选,提升相似度
)
sf.write("hifi_clone.wav", wav, model.tts_model.sample_rate)
🔄 流式 API**
import numpy as np
chunks = []
for chunk in model.generate_streaming(
text="使用VoxCPM进行流式语音合成非常简单!",
):
chunks.append(chunk)
wav = np.concatenate(chunks)
sf.write("streaming.wav", wav, model.tts_model.sample_rate)
命令行使用
音色设计(无需参考音频)
voxcpm design \
--text "VoxCPM2带来全新语音合成体验。" \
--output out.wav
可控声音克隆(带风格控制)
voxcpm design \
--text "VoxCPM2带来全新语音合成体验。" \
--control "年轻女声,温暖温柔,略带微笑" \
--output out.wav
声音克隆(参考音频)
voxcpm clone \
--text "这是一个声音克隆的演示。" \
--reference-audio path/to/voice.wav \
--output out.wav
极致克隆(提示音频 + 转录文本)
voxcpm clone \
--text "这是一个声音克隆的演示。" \
--prompt-audio path/to/voice.wav \
--prompt-text "参考音频转录文本" \
--reference-audio path/to/voice.wav \
--output out.wav
批量处理
voxcpm batch --input examples/input.txt --output-dir outs
帮助
voxcpm --help
Web Demo
python app.py --port 8808 # 然后在浏览器打开 http://localhost:8808
🚢 生产部署(Nano-vLLM)
如需高吞吐量部署,使用 Nano-vLLM-VoxCPM — 基于 Nano-vLLM 构建的专用推理引擎,支持并发请求和异步 API。
pip install nano-vllm-voxcpm
from nanovllm_voxcpm import VoxCPM
import numpy as np, soundfile as sf
server = VoxCPM.from_pretrained(model="/path/to/VoxCPM", devices=[0])
chunks = list(server.generate(target_text="你好,我来自VoxCPM!"))
sf.write("out.wav", np.concatenate(chunks), 48000)
server.stop()
在 NVIDIA RTX 4090 上 RTF 低至 ~0.13(标准 PyTorch 实现约 ~0.3),支持批量并发请求和 FastAPI HTTP 服务。详见 Nano-vLLM-VoxCPM 仓库。
📦 模型与版本
VoxCPM2VoxCPM1.5VoxCPM-0.5B状态🟢 最新版本稳定版旧版主模型参数量2B0.6B0.5B音频采样率48kHz44.1kHz16kHzLM处理码率6.25Hz6.25Hz12.5Hz语言支持数量302(中文、英文)2(中文、英文)克隆模式隔离参考音频(无需文本) & 音频续写仅音频续写仅音频续写音色设计✅——可控声音克隆✅——SFT / LoRA✅✅✅RTF (RTX 4090)~0.30~0.15~0.17RTF Nano-VLLM (RTX 4090)~0.13~0.08~0.10显存占用~8 GB~6 GB~5 GB模型权重🤗 HF / MS🤗 HF / MS🤗 HF / MS技术报告即将发布—arXivICLR 2026Demo 页面音频示例—音频示例
VoxCPM2 采用连续音频表征、扩散自回归范式,模型在 AudioVAE 的连续隐空间中通过四阶段处理:LocEnc → TSLM → RALM → LocDiT,实现丰富的表现力语音合成和 48kHz 原生音频输出。
⚙️ 微调
VoxCPM 支持全参数微调(SFT) 和 LoRA 微调。仅需 5-10分钟 的音频数据,即可适配特定说话人、语言或领域。
LoRA 微调(参数高效,推荐)
python scripts/train_voxcpm_finetune.py \
--config_path conf/voxcpm_v2/voxcpm_finetune_lora.yaml
全参数微调
python scripts/train_voxcpm_finetune.py \
--config_path conf/voxcpm_v2/voxcpm_finetune_all.yaml
WebUI 训练与推理
python lora_ft_webui.py # 然后打开 http://localhost:7860
项目地址
https://github.com/OpenBMB/VoxCPM
**
**
扫码加入技术交流群,备注「开发语言-城市-昵称」
合作请注明
如果你觉得这篇文章不错,别忘了点赞、在看、转发给更多需要的小伙伴哦!我们下期再见!